/*
 * Creation : 17/09/2013
 */
package com.japcatalog.dao;

import java.util.Collection;

import com.japcatalog.model.CatalogObject;

/**
 * The Interface CatalogObjectDao.
 */
public interface CatalogObjectDao {

	/**
	 * Find all.
	 * 
	 * @return the collection
	 */
	public Collection<CatalogObject> findAll();

	/**
	 * Find by id.
	 * 
	 * @param id
	 *            the id
	 * @return the catalog object
	 */
	public CatalogObject findById(Long id);

	/**
	 * Creates the.
	 * 
	 * @param catalogObject
	 *            the catalog object
	 * @return the long
	 */
	public Long create(CatalogObject catalogObject);

	/**
	 * Update.
	 * 
	 * @param catalogObject
	 *            the catalog object
	 */
	public void update(CatalogObject catalogObject);

	/**
	 * Delete.
	 * 
	 * @param catalogObject
	 *            the catalog object
	 */
	public void delete(CatalogObject catalogObject);

	/**
	 * Delete.
	 * 
	 * @param id
	 *            the id
	 */
	public void delete(Long id);
}
